package com.jing.system.utils.freeze;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.lang.time.DateUtils;

import com.jing.system.comm.contants.SystemCons;
import com.jing.system.utils.DateUtil;


/**
 * 冻结互粉用户的工具类
 * @author jing.yue
 * @version 1.0
 * @since 2012-11-13
 */
public class FreezeMpUserUtil {

	/**
	 * 记录冻结的用户信息
	 */
	private static Map<String, FreezeUser> mpFreezeMap = new HashMap<String, FreezeUser>();

	/**
	 * 获取冻结的用户信息
	 * @param username
	 * @return
	 */
	public static String getMpFreezeUser(String username) {
		Date newtime = DateUtil.getTime();
		FreezeUser freezeUser = mpFreezeMap.get(username);
		//达到解冻时间或没有冻结
		if(freezeUser == null || newtime.compareTo(freezeUser.getUnfreezetime()) >= 0) {
			mpFreezeMap.put(username, null);
			return SystemCons.SUCCESS;
		}
		//完成下次可以使用的时间提示
		return DateUtil.getDateDiff(newtime, freezeUser.getUnfreezetime(), 1).toString();
	}

	/**
	 * 添加冻结的用户
	 * @param username		用户名
	 * @param freezeMpTime	解冻时间
	 */
	public static void addMpFreezeUser(String username, Integer freezeMpTime) {
		Date newtime = DateUtil.getTime();
		FreezeUser freezeUser = new FreezeUser();
		freezeUser.setUsername(username);
		freezeUser.setFreezetime(newtime);
		freezeUser.setUnfreezetime(DateUtils.addMinutes(newtime, freezeMpTime));
		mpFreezeMap.put(username, freezeUser);
	}

}